function [X,a,b] = mink(C,X,a,b,coln,rown,haxes,fh,ergdirekt)
% MINK Transportmatrix X bestimmen mit der Minimale-Kosten-Regel

while sum(a)~=0
    
    % Schrittweise Berechnung der Transportmatrix
    [minc,idx] = min(C);
    [~,j] = min(minc);
    i = idx(j);
    
    % Minimum in Plot einkreisen
    drawcircle(j+0.25,size(C,1)+2.75-i,'r');
    if ~ergdirekt
        waitforbuttonpress
    end
    
    if a(i)~=0 && b(j)~=0
        X(i,j) = min(a(i),b(j));
        a(i) = a(i) - X(i,j);
        b(j) = b(j) - X(i,j);
    end
    
    if a(i) == 0
        X(i,isnan(X(i,:))) = 0;
    end
    
    if b(j) == 0
        X(isnan(X(:,j)),j) = 0;
    end
    
    C(i,j) = NaN;
    
    % Grafische Ausgabe der einzelnen Schritte
    plotresults(C,X,a,b,coln,rown,haxes,fh);
    if ~ergdirekt
        waitforbuttonpress
    end
    
end

end